// 防止头文件重复包含
#ifndef _SYSTEM_INFO_H_
#define _SYSTEM_INFO_H_

// 包含必要的头文件
#include <string>
#include <esp_err.h>
#include <freertos/FreeRTOS.h>

// 系统信息类：提供系统相关信息的静态方法
class SystemInfo {
public:
    // 获取Flash存储大小
    static size_t GetFlashSize();
    // 获取最小可用堆内存大小
    static size_t GetMinimumFreeHeapSize();
    // 获取当前可用堆内存大小
    static size_t GetFreeHeapSize();
    // 获取设备MAC地址
    static std::string GetMacAddress();
    // 获取芯片型号名称
    static std::string GetChipModelName();
    // 打印实时系统状态信息
    static esp_err_t PrintRealTimeStats(TickType_t xTicksToWait);
};

#endif // _SYSTEM_INFO_H_
